home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Apple WWDC 1996
/
WWDC96_1996 (CD).toast
/
Technology Materials
/
MacOS 8 Resources
/
Developer Tools
/
Mac OS 8 Interfaces & Libraries
/
Interfaces
/
IDLIncludes
/
OCEMessaging.idl
< prev
next >
Wrap
Text File
|
1996-05-01
|
9KB
|
262 lines
/*
File: OCEMessaging.idl
Contains: Apple Open Collaboration Environment Messaging Interfaces.
Version: Technology: AOCE Toolbox 1.02
Release: Universal Interfaces 3.0d3 on Copland DR1
Copyright: © 1984-1996 by Apple Computer, Inc. All rights reserved.
Bugs?: If you find a problem with this file, send the file and version
information (from above) and the problem description to:
Internet: apple.bugs@applelink.apple.com
AppleLink: APPLE.BUGS
*/
#ifndef __OCEMESSAGING_IDL__
#define __OCEMESSAGING_IDL__
#include <somobj.idl>
#include <somcls.idl>
#ifndef __FILES_IDL__
#include <Files.idl>
#endif
#ifndef __TYPES_IDL__
#include <Types.idl>
#endif
#ifndef __DIGITALSIGNATURE_IDL__
#include <DigitalSignature.idl>
#endif
#ifndef __OCE_IDL__
#include <OCE.idl>
#endif
#ifndef __OCEAUTHDIR_IDL__
#include <OCEAuthDir.idl>
#endif
#ifdef __SOMIDL__
#if FOR_SYSTEM7_ONLY
/******************************************************************************/
/*
Definitions common to OCEMessaging and to OCEMail. These relate to addressing,
message ids and priorities, etc.
*/
/* Values of IPMPriority */
typedef Byte IPMPriority;
/* Values of IPMAccessMode */
typedef unsigned short IPMAccessMode;
/* Values of IPMNotificationType */
typedef Byte IPMNotificationType;
/* Values of IPMSenderTag */
typedef unsigned short IPMSenderTag;
/* Values of OCERecipientOffsetFlags */
typedef Byte OCERecipientOffsetFlags;
typedef SOMLargeStruct OCECreatorType; /* Derived from a struct of 8 bytes in size */
/* Values of IPMMsgFormat */
typedef unsigned short IPMMsgFormat;
typedef Str32 IPMStringMsgType;
typedef SOMLargeStruct TheType; /* Derived from a struct of 41 bytes in size */
typedef SOMLargeStruct IPMMsgType; /* Derived from a struct of 36 bytes in size */
/*
Following are the known extension values for IPM addresses handled by Apple.
We define the definition of the entn extension below.
*/
/*
Following are the specific definitions for the extension for the standard
OCEMail 'entn' addresses. [Note, the actual extension is formatted as in
IPMEntityNameExtension.]
*/
/* entn extension forms */
/*
Following are the specific definitions for standard
OCEMail 'aphn' extension value.
All RStrings here are packed (e.g. truncated to length) and even padded (e.g.
if length odd, then a pad byte (zero) should be introduced before the next field).
The extension value is in the packed form of the following structure:
RString phoneNumber;
RString modemType;
Str32 queueuName;
The body of phoneNumber compound RString is in the packed form of the following structure:
short subType;
RString countryCode; // used when subType == kOCEUseHandyDial
RString areaCode; // used when subType == kOCEUseHandyDial
RString phone; // used when subType == kOCEUseHandyDial
RString postFix; // used when subType == kOCEUseHandyDial
RString nonHandyDialString; // used when subType == kOCEDontUseHandyDial
*/
/* phoneNumber sub type constants */
/* FORMAT OF A PACKED FORM RECIPIENT */
typedef SOMTwoByteStruct ProtoOCEPackedRecipient; /* Derived from a struct of 2 bytes in size */
typedef SOMLargeStruct OCEPackedRecipient; /* Derived from a struct of 4096 bytes in size */
typedef SOMLargeStruct IPMEntnQueueExtension; /* Derived from a struct of 33 bytes in size */
/* kOCEAttrXtn */
typedef SOMLargeStruct IPMEntnAttributeExtension; /* Derived from a struct of 36 bytes in size */
/* kOCESpAtXtn */
typedef SOMLargeStruct IPMEntnSpecificAttributeExtension; /* Derived from a struct of 44 bytes in size */
/* All IPM entn extensions fit within the following */
typedef SOMLargeStruct IPMEntityNameExtension; /* Derived from a struct of 118 bytes in size */
/* addresses with kIPMNBPXtn should specify this nbp type */
typedef SOMLargeStruct IPMMsgID; /* Derived from a struct of 16 bytes in size */
/* Values of IPMHeaderSelector */
typedef Byte IPMHeaderSelector;
typedef SOMLargeStruct TheSender; /* Derived from a struct of 2086 bytes in size */
typedef SOMLargeStruct IPMSender; /* Derived from a struct of 1828 bytes in size */
/******************************************************************************/
/* Definitions specific to OCEMessaging */
typedef unsigned long IPMContextRef;
typedef unsigned long IPMQueueRef;
typedef unsigned long IPMMsgRef;
typedef unsigned long IPMSeqNum;
typedef Str32 IPMProcHint;
typedef Str32 IPMQueueName;
typedef OpaquePtr IPMNoteProcPtr;
typedef OpaquePtr IPMNoteUPP;
typedef SOMLargeStruct IPMFixedHdrInfo; /* Derived from a struct of 44 bytes in size */
/* standard Non delivery codes */
/*************************************************************************/
/*
This is the structure that will be returned by enumerate and getmsginfo
This definition is just to give you a template, the position of msgType
is variable since this is a packed structure. procHint and msgType are
packed and even length padded.
* master message info
*/
typedef SOMLargeStruct IPMMsgInfo; /* Derived from a struct of 114 bytes in size */
typedef OCECreatorType IPMBlockType;
typedef SOMLargeStruct IPMTOC; /* Derived from a struct of 20 bytes in size */
/*
The following structure is just to describe the layout of the SingleFilter.
Each field should be packed and word aligned when passed to the IPM ToolBox.
*/
typedef SOMLargeStruct IPMSingleFilter; /* Derived from a struct of 78 bytes in size */
typedef SOMLargeStruct IPMFilter; /* Derived from a struct of 80 bytes in size */
/*
************************************************************************
Following structures define the ``start'' of a recipient report block and the
elements of the array respectively.
*/
typedef SOMLargeStruct IPMReportBlockHeader; /* Derived from a struct of 20 bytes in size */
typedef SOMFourByteStruct OCERecipientReport; /* Derived from a struct of 4 bytes in size */
/*************************************************************************/
typedef OpaquePtr IPMParamBlockPtr; /* Substituted OpaquePtr for ``IPMParamBlock*'' */
typedef OpaquePtr IPMIOCompletionProcPtr;
typedef OpaquePtr IPMIOCompletionUPP;
typedef SOMLargeStruct IPMOpenContextPB; /* Derived from a struct of 28 bytes in size */
typedef IPMOpenContextPB IPMCloseContextPB;
typedef SOMLargeStruct IPMCreateQueuePB; /* Derived from a struct of 40 bytes in size */
/* For createqueue and deletequeue only queue and identity are used */
typedef IPMCreateQueuePB IPMDeleteQueuePB;
typedef SOMLargeStruct IPMOpenQueuePB; /* Derived from a struct of 62 bytes in size */
typedef SOMLargeStruct IPMCloseQueuePB; /* Derived from a struct of 28 bytes in size */
typedef SOMLargeStruct IPMEnumerateQueuePB; /* Derived from a struct of 56 bytes in size */
typedef IPMEnumerateQueuePB IPMChangeQueueFilterPB;
typedef SOMLargeStruct IPMDeleteMsgRangePB; /* Derived from a struct of 40 bytes in size */
typedef SOMLargeStruct IPMOpenMsgPB; /* Derived from a struct of 46 bytes in size */
typedef SOMLargeStruct IPMOpenHFSMsgPB; /* Derived from a struct of 46 bytes in size */
typedef SOMLargeStruct IPMOpenBlockAsMsgPB; /* Derived from a struct of 52 bytes in size */
typedef SOMLargeStruct IPMCloseMsgPB; /* Derived from a struct of 30 bytes in size */
typedef SOMLargeStruct IPMGetMsgInfoPB; /* Derived from a struct of 32 bytes in size */
typedef SOMLargeStruct IPMReadHeaderPB; /* Derived from a struct of 52 bytes in size */
typedef SOMLargeStruct IPMReadRecipientPB; /* Derived from a struct of 56 bytes in size */
/*
replyQueue works like recipient. [can no longer read it via ReadHeader]
OriginalIndex is meaningless, rcptFlags are used seperately and there are
currently none defined.
*/
typedef IPMReadRecipientPB IPMReadReplyQueuePB;
typedef SOMLargeStruct IPMGetBlkIndexPB; /* Derived from a struct of 50 bytes in size */
typedef SOMLargeStruct IPMReadMsgPB; /* Derived from a struct of 52 bytes in size */
typedef SOMLargeStruct IPMVerifySignaturePB; /* Derived from a struct of 32 bytes in size */
typedef SOMLargeStruct IPMNewMsgPB; /* Derived from a struct of 76 bytes in size */
typedef SOMLargeStruct IPMNewHFSMsgPB; /* Derived from a struct of 76 bytes in size */
typedef SOMLargeStruct IPMNestMsgPB; /* Derived from a struct of 60 bytes in size */
typedef SOMLargeStruct IPMNewNestedMsgBlockPB; /* Derived from a struct of 76 bytes in size */
typedef SOMLargeStruct IPMEndMsgPB; /* Derived from a struct of 72 bytes in size */
typedef SOMLargeStruct IPMAddRecipientPB; /* Derived from a struct of 36 bytes in size */
typedef SOMLargeStruct IPMAddReplyQueuePB; /* Derived from a struct of 36 bytes in size */
typedef SOMLargeStruct IPMNewBlockPB; /* Derived from a struct of 60 bytes in size */
typedef SOMLargeStruct IPMWriteMsgPB; /* Derived from a struct of 48 bytes in size */
typedef SOMLargeStruct IPMParamBlock; /* Derived from a struct of 1446 bytes in size */
/* Always synchronous */
#endif
#endif /* __SOMIDL__ */
#endif /* __OCEMESSAGING_IDL__ */